package com.product.trace.service;

import java.util.List;

import com.product.trace.VO.ProductOut2VO;
import com.product.trace.domain.ProductInto;
import org.apache.ibatis.annotations.Mapper;

/**
 * 商品采购详情Service接口
 *
 * @author wanghui
 * @date 2022-08-22
 */

public interface IProductIntoService {
    /**
     * 查询商品采购详情
     *
     * @param id 商品采购详情主键
     * @return 商品采购详情
     */
    public ProductInto selectProductIntoById(Integer id);

    /**
     * 查询商品采购详情列表
     *
     * @param productInto 商品采购详情
     * @return 商品采购详情集合
     */
    public List<ProductInto> selectProductIntoList(ProductInto productInto);

    /**
     * 新增商品采购详情
     *
     * @param productInto 商品采购详情
     * @return 结果
     */
    public int insertProductInto(ProductInto productInto);

    /**
     * 修改商品采购详情
     *
     * @param productInto 商品采购详情
     * @return 结果
     */
    public int updateProductInto(ProductInto productInto);

    /**
     * 批量删除商品采购详情
     *
     * @param ids 需要删除的商品采购详情主键集合
     * @return 结果
     */
    public int deleteProductIntoByIds(Integer[] ids);

    /**
     * 删除商品采购详情信息
     *
     * @param id 商品采购详情主键
     * @return 结果
     */
    public int deleteProductIntoById(Integer id);

    /**
     * @param product 产品
     * @return {@link ProductOut2VO }
     * @Description 重新获取采购产品列表进行二次渲染
     */
    public List<ProductOut2VO> getAllProductList(ProductOut2VO product);
}
